/*
Sader engine framework
(c) Rachel J. Morris
MIT License
www.moosader.com
*/

#ifndef _Sader_Input
#define _Sader_input

#include <SFML/Window.hpp>

#include <iostream>
#include <map>
#include <vector>

#include "Window.h"
#include "BaseKeyAction.h"

namespace sader
{
    class BaseInput
    {
        protected:
            Window* app;
            std::vector<BaseKeyAction> m_keyActionList;
            float tempKeyCooldown;
        public:
            BaseInput();
            bool* HandleInput();
            bool GetKey( sf::Key::Code code );
            void SetWindow( Window* app );
            void Update();
            void ResetInputCooldown();
            float InputCooldown() { return tempKeyCooldown; }
    };
}

#endif
